home *** CD-ROM | disk | FTP | other *** search
- ;***************************************
- ;* DSP als Sinusgenerator *
- ;***************************************
-
- flag equ $10
-
- org p:0
- jmp start
-
- include "F30SSI.INC"
-
- start movec #0,sp ;Stack loeschen
- ori #$4,omr ;Sinustabelle ein
- jsr init ;SSI-Init aufrufen
- bclr #0,x:$FFE1
- bclr #1,x:$FFE1
- bclr #2,x:$FFE1
- movep #7,x:$FFE3
-
- move #0.125,y1 ;Lautstaerke
- anfang move #256,r0 ;Adresse des Sinus
- do #255,next ;Hardware-Schleife
- move y:(r0)+,x1 ;Sinus holen
- mpy x1,y1,a ;leiser machen
- move a1,x:out_r ;Ausgabe links
- move a1,x:out_l ;Ausgabe rechts
- lp jclr #1,x:sync,lp ;Warten bis Ausgabe erfolgt
- bclr #1,x:sync ;Flag loeschen
- next nop ;hier darf kein JMP stehen
- nop
- jclr #0,x:flag,ein
- bclr #0,x:flag
- movep #0,x:$FFE5
- jmp anfang
- ein bset #0,x:flag
- movep #7,x:$FFE5
- jmp anfang ;das ganze von vorn
-
- end
-
-